草庐IT

java - 从方法返回数组

全部标签

ruby - 定义方法 : How to dynamically create methods with arguments

我想为find_by功能创建一堆方法。我不想一遍又一遍地写同样的东西,所以我想使用元编程。假设我想创建一个按名称查找的方法,接受名称作为参数。我该怎么做?我过去曾使用过define_method,但我没有为该方法采用的任何参数。这是我的(坏的)方法["name","brand"].eachdo|attribute|define_method("self.find_by_#{attribute}")do|attr_|all.eachdo|prod|returnprodifprod.attr_==attr_endendend有什么想法吗?提前致谢。 最佳答案

ruby-on-rails - ruby 中是否有更短的方法来获取两个日期中的较晚日期?

只是好奇-是否有更短的方法来实现这一目标?latest_date=date1>date2?date1:date2谢谢 最佳答案 使用Enumerable#max:latest_date=[date1,date2].max 关于ruby-on-rails-ruby中是否有更短的方法来获取两个日期中的较晚日期?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/9475848/

ruby - 递归数组有什么用?

Ruby支持递归数组(即自包含数组):a=[]#=>[]a[[...]]a.first==a#=>true这本质上很酷,但是您可以用它做什么工作? 最佳答案 Adirectedgraph具有未分化边的每个顶点可以简单地表示为从该顶点可到达的顶点数组。如果图形有循环,你就会有一个“递归数组”,尤其是当一条边可以回到同一个顶点时。例如这张图:...可以用代码表示为:nodes={a:[],b:[],c:[],d:[]}nodes[:a]{:a=>[[[...],[]],[...]],:b=>[[[...],[...]],[]],:c=>

ruby - 需要在 Ruby 中将数组拆分为指定大小的子数组

这个问题在这里已经有了答案:HowtochunkanarrayinRuby(2个答案)关闭4年前。我有一个类似这样的数组:arr=[4,5,6,7,8,4,45,11]我想要一个奇特的方法,比如sub_arrays=split(arr,3)这应该返回以下内容:[[4,5,6],[7,8,4],[45,11]]注意:这个问题不是“如何分块数组”的重复问题。chunk题是问批量处理,这道题是拆分数组。

ruby - 确定字符串数组是否包含 ruby​​ 中的某个子字符串

我有一个简单的ruby​​问题。我有一个字符串数组。我想确定该数组是否包含任何字符串的子字符串。举个例子a=['cat','dog','elephant']a.to_s.include?('ele')这是最好的方法吗?谢谢。 最佳答案 a.any?应该可以完成这项工作。>a=['cat','dog','elephant']=>["cat","dog","elephant"]>a.any?{|s|s.include?('ele')}=>true>a.any?{|s|s.include?('nope')}=>false

Ruby:如何将多个方法调用与 "send"链接在一起

必须有一种内置的方式来执行此操作,对吧?classObjectdefsend_chain(arr)o=selfarr.each{|a|o=o.send(a)}returnoendend 最佳答案 我刚刚遇到这个,它真的需要注入(inject):defsend_chain(arr)arr.inject(self){|o,a|o.send(a)}end 关于Ruby:如何将多个方法调用与"send"链接在一起,我们在StackOverflow上找到一个类似的问题:

ruby - 如何在 Ruby 中获得惰性数组?

我如何在Ruby中获得惰性数组?在Haskell中,我可以谈论[1..],它是一个无限列表,根据需要延迟生成。我还可以执行iterate(+2)0之类的操作,它会应用我为其提供的任何函数来生成惰性列表。在这种情况下,它会给我所有偶数。我确定我可以在Ruby中做这些事情,但似乎不知道如何做。 最佳答案 在Ruby1.9中,您可以使用Enumerator类。这是文档中的示例:fib=Enumerator.new{|y|a=b=1loop{y[1,1,2,3,5,8,13,21,34,55]此外,这是一个不错的技巧:Infinity=1.

ruby-on-rails - 为什么 Ruby open-uri open 在我的单元测试中返回一个 StringIO,而在我的 Controller 中返回一个 FileIO?

我继承了一个Rails2.2.2应用程序,它在AmazonS3上存储用户上传的图像。基于attachment_fu的Photo模型提供了一个rotate方法,该方法使用open-uri从S3和MiniMagick中检索图像以执行旋转。rotate方法包含这一行来检索用于MiniMagick的图像:temp_image=MiniMagick::Image.from_file(open(self.public_filename).path)self.public_filename返回类似的内容http://s3.amazonaws.com/bucketname/photos/98/phot

ruby-on-rails - 如何从 Ruby on Rails 应用程序返回正确的 HTTP 错误代码

我有RoR3.0网络应用程序,它充当OAuthAPI提供程序。现在,在API中,我想向API使用者返回正确的HTTP错误代码。我该怎么做?例子如下:defdestroy_oauth@item=Item.find(params[:id])if(!@item.nil?&&@item.user_id==current_user.id)@item.destroyrespond_todo|format|format.jsformat.xmlendelseraiseActionController::RoutingError.new('Forbidden')endend因此,如果出现错误,我会尝试

Ruby 方法检查字符串是否不为空?

在Ruby(不是Rails)的elseif条件中检查变量是否为空的最佳方法是什么?elsifnotvariable.to_s.empty?#dosomethingend或elsif!variable.to_s.empty?#dosomethingend或elsifvariable.to_s.length>0#dosomethingend 最佳答案 string=""unlessstring.to_s.strip.empty?#...end 关于Ruby方法检查字符串是否不为空?,我们在S